In information theory, it has been established that over any given noisy communication channel by means of channel coding it is possible to transmit information nearly error-free up to a maximum rate, the so-called capacity, which depends on the channel transition probabilities. This result was first presented by Claude Shannon in 1948, and the corresponding theoretical maximum information transfer rate is therefore often referred to as the “Shannon-limit”.
Practical codes that operate close to the Shannon-limit often exhibit a so-called “error floor”. The “error floor” is a phenomenon encountered in modern error correcting codes with iterative decoding like LDPC codes or turbo codes, where the bit error ratio (BER)—which generally decreases with increasing signal-to-noise ratio (SNR)—at some point does not fall as quickly as before. The region in which the BER as a function of SNR flattens is referred to as the “error floor region”.
On the other hand, codes that do not exhibit an error flow, like algebraic codes under bounded distance decoding, typically fall short of the Shannon limit.
A common solution to remove the error floor is to use an algebraic outer code to clean up the error floor of a high-performing inner code, as is for example described in DVB-S2 standard, ETSI EN 302 307, V1.2.1, April 2009. However, this approach implies a rate loss and therefore a trade-off between the decoder threshold, i.e. the maximum noise level tolerated by the decoder, and the error-floor. Also, this approach requires deep interleaving with long latency to break the error bursts that are present after the inner decoder and to avoid overloading of the outer decoder.
If an outer algebraic code is not desired, the error floor must per design lie below the target error rate. This is often achieved by a concatenation of component codes with large Hamming distance. However, this solution may result into a significant decoding complexity, especially for high data rate applications.
A very efficient code construction is provided by the Braided Block Codes (BBC) introduced by D. Truhacev, M. Lentmaier, and K. Zigangirov in “On Braided Block Codes”, IEEE ISIT, June-July 2003. BBCs are convolutional codes obtained from an orthogonal concatenation of two block codes and achieve an excellent error correcting performance. In A. Jiménez Feltström, d. Truhacev, M. Lentmaier, and K. Sh. Zigangirov, “Braided Block Codes”, IEEE Transactions on Information Theory, June 2009, a method of computing an ensemble distance bound for BBCs are described along the lines of similar derivations for other code families. However, ensemble bounds on the minimum distance do not guarantee the error floor of a specific code. From the engineer's perspective, it would hence be more useful to lower-bound per design the minimum Hamming distance of the code considered for implementation. Furthermore, the bound for BBCs shows that their overall constraint length, and thus, unfortunately also their latency and complexity, grow rapidly with the length and the rate of the component codes.
In some cases, the minimum Hamming distance is not the dominant parameter for the error floor to occur. For instance, for LDPC codes under message passing decoding, the error floor is usually determined by pathological patterns associated with absorbing sets in the bipartite graph rather than by the minimum Hamming distance, as can be seen from Z. Zhang, L. Dolecek, B. Nikolic, V. Anantharam, and M. Wainwright, “Investigation of error floors of structured low-density parity-check codes by hardware emulation”, IEEE GLOBECOM, November 2006. Several techniques for the identification and post-processing of absorbing sets have been described in the literature. However, they require lengthy emulations, which are typically carried out on an FPGA. Due to the limited FPGA speed, a residual risk of overlooking some critical patterns remains, especially in high-rate applications with very low target bit error rate, such as BERs≤10−12.